home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
strwrt43.doc
< prev
next >
Wrap
Text File
|
1993-11-11
|
21KB
|
487 lines
HPHP48-D,*≡5
HPHP48-E,* $ *******************************************************************************
* *
* STRING WRITER v4.2 *
* Par J.Y Avenard *
* (c) Septembre 1993 GHERKIN Production *
* *
*******************************************************************************
[jkh:Entre crochets, quelques notes fondemmentales...]
I- Presentation et Description.
STRING-WRITER est un editeur de texte complet et rapide realise presque
exclusivement en assembleur SATURN (5% de SYS.RPL,10% de DATA (graphiques,
table de caracteres,message d'erreur etc...,85% de langage machine [Hum...]
[[jkh:Vous remarquerez à quel point ces notes sont importantes...]] pour
un total de 23ko.).
Attention cette version est strictement personnelle avec numero de serie.
[jkh: Eh non, y'a plus de numero de serie...Merci qui? ]
Toutes diffusions et copies sont interdites [jkh:en theorie, mais elles
sont en pratique chaudement recommandées...]
Merci de ta confiance en ce logiciel...[jkh:Quel familiarite...Moi, perso,
jamais je ne me permettrai de tutoyer ainsi des gens que je na connais pas!]
N'hesite pas a en parler a ton entourage.[jkh:Et a lui filer... ]
Pour toutes remarques,demandes de nouvelles fonctions etc.. vous
pouvez m'ecrire au 3615-3614 STORM bal GHERKIN ou m'écrire à :
Avenard Jean-Yves [jkh:Gef: 47-95-28-10]
16 rue de Savigny [jkh:RTC ONE: 48-70-10-29]
91390 Morsang Sur ORGE
Ou en EMAIL a : avenar_j@epita.fr
Telephone : 33-1-69051236
II-Présentation generale :
[jkh:A partir de la, c'est pour les Mongolitos...]
String-Writer v4.2 est une librairie elle apparait dans la pile sous la
forme : "Library 1303 : STR..."
1-Installation [jkh:Le disk dur n'est pas obligatoire..]
Pour pouvoir l'utiliser il faut la stocker dans un port.
-Mettez la librairie au niveau 1 de la pile.
-Faites alors 0,1 ou 2 STO selon que vous ayez ou non une carte d'extension.
Puis appuyez sur la touche ON et sans relacher appuyez sur la touche C.
La calculatrice effectue un arret systeme.
String Writer est installe et pret a fonctionner.
2-Premiere utilisation.
Allez dans le menu librairie.
Appuyez sur la touche blanche se situant sous le nom STRW s'il n'apparait
pas dans le menu appuyez sur la touche NXT autant que necessaire.
3-Les differents programmes.
Une fois dans ce menu apparait dans la barre divers noms.
-EDIT
-VISIT
-Edit
-Visit
-NEW
-Info
-PUTFONT
-SWINIT
-XMIT2
-SRECV2
[jkh:Suffit de savoir lire... c'est marque en menu librairie!!! ]
Voici la description de chacun des programmes.
[jkh:La vous pouvez recommencer à lire si vous voulez, c'est un peu moins
destines aux mongoles...]
-EDIT : Edite l'objet au niveau 1 de la pile.
-VISIT : Prend un 'GLOBAL NAME'[jkh:En francais dans le texte...hehe]
puis edite le contenu de la variable
-Edit : Meme fonction que EDIT mais si l'objet est un algebrique
on l'edite avec l'Equation Writer.Si c'est une matrice on l'edite
avec Matrix Writer.Si c'est un graphique on l'edite avec le menu
GRAPH.
Les STRINGS (chaines de caracteres) sont editees directement sans
ajout de "" . Je conseille d'ailleurs de toujours utiliser Edit
pour les strings car il faut beaucoup moins de memoire qu'avec
EDIT
-Visit : Comme VISIT mais cette fois ci de la meme facon qu'avec Edit.
-NEW : Pour creer un nouvel objet
-Info : Donne le numero de votre version et une info sur la librairie.
-PUTFONT : Ressort la fonte utilisee par STRING-WRITER.
-SWINIT : Passe en mode USER et attribue aux touches les fonctions :
HP48s(x):
LS +/- : EDIT
RS +/- : VISIT
DOWN : Edit
RS DOWN : Visit
DEL : NEW
CLVAR : Place le contenu de la ligne de commande dans STRING-WRITER v4.2.
S'il n'y a pas de ligne de commande alors place le contenu de LASTARG dans
STRING-WRITER v4.2.
[jkh:En fait c'est un debile qui les a choisies ces attributions...Cette
Commande ne sert donc a rien!!!]
HP48g(x):
LS +/- : EDIT/VISIT
DOWN : Edit
LS DOWN : Visit
DEL : NEW
LASTARG : Place le contenu de la ligne de commande dans STRING-WRITER v4.2.
[jkh:C'est pas mieux sur Gx...]
XMIT2 : Equivalent a la commande XMIT mais permet des transferts jusqu'a 7500 bauds via
l'infra-rouge et 15000 bauds via la prise serie (temps moyens calcules par rapport au temps mis
par la fonction XMIT).[jkh:Donc largement surevalues..]
Elle prend en arguments au niveau 2 une chaine de caracteres et au niveau 1, un reel
correspondant a la vitesse d'emission.
Elle renvoie 1 si le transfert a reussie ou 0 si elle a ete interrompue.
0: 1200 bauds
1: 1900 bauds
2: 2400 bauds
3: 3800 bauds
4: 4800 bauds
5: 7500 bauds (vitesse maximum via l'IR)
6: 9600 bauds
7: 15000bauds (vitesse maximum via laRS-232)
Voici quelques temps mis pour transferer un texte de 5000 caracteres avec la fonction
XMIT2.
Vitesse : temps (en secondes).)
0 : 46.73
1 : 29.34
2 : 23.50 (vitesse de transfert via l'IR en utilisant la fonction XMIT)
3 : 14.81
4 : 11.91
5 : 7.55
6 : 6.13 (vitesse de transfert maximum avec la fonction XMIT)
7 : 3.93 (vitesse de transfert maximum avec la fonction XMIT2)
-SRECV2: Fonction equivalente a SRECV mais permet elle aussi des transfert a
une vitesse tres elevee. De plus elle permet de recevoir des textes de plus de
256 octets.
Elle prends en arguments au niveau 2 le nombre maximum de caracteres a recevoir et au
niveau 1 un reel representant la vitesse de transferts.
Elle renvoie 1 si la reception a reussi ou 0 si la reception a ete interrompue ou si des erreurs
se sont produites.
III-Presentation succinte des differentes commandes de STRING-WRITER.
Voici un resume des fonctions de STRING-WRITER v4.2:
En mode edition:
-Touches de direction :se deplacer dans le texte
-DEL :efface le caractere a droite du curseur
-<= :efface le caractere a gauche du curseur
-MTH :Affiche la liste de toutes les lignes precedees par *.
Pour voir tous les labels re-appuyer sur MTH autant de fois que
necessaire.
Pour ce rendre a un label,appuyer sur la touche numerique correspondant
au numero.
-PRG :Mode insertion/recouvrement. Action en flip/flap.
Fonction accessible par ALPHA Right-Shift ALPHA.
-CST :Tabulation.
-VAR :Mode rapide/lent ,influence le deplacement ainsi que l'effacement de
caracteres. Action en flip/flap.
-ENTER :Sauvegarde le texte en cours puis retour au RPL
-ON :Quitter STRING-WRITER v4.2 avec l'ancien texte
-NXT :Menu suivant
LEFT SHIFT ( LS ) +:
-MTH :Envoi la selection vers le port Infra-rouge ou Serie.
-PRG :Affiche les fins de lignes.
-CST :Passage en mode edition en continu avec retour a la ligne tous les
22 caracteres.
-VAR :puis un chiffre compris entre 0 et 9 : Place dans la memoire correspondante la
position courante.
-UP :PAGE-UP
-DOWN :PAGE-DOWN
-LEFT :PAGE-LEFT
-RIGHT :PAGE-RIGHT
-NXT :Menu precedent
- +/- :Affiche le menu EDIT ( <-SKIP,SKIP->,etc.. )
- 1 :Saisie un ;
RIGHT SHIFT ( RS ) +:
-MTH :Permet de configurer le port serie et les parametres d'emission.
Le temps saisie pour la pause entre chaque ligne durant l'emission est en 1/16s.
-PRG :Passage en mode AUTO-INDENTATION.
-CST :Permet de modifier la valeur de la tabulation.
-VAR :puis un chiffre compris entre 0 et 9 : Place le curseur a la position sauvegardee dans
la memoire correspondante.
-UP :MAX-UP
-DOWN :MAX-DOWN
-LEFT :MAX-LEFT
-RIGHT :MAX-RIGHT
-DEL :HP48g(x) : Efface tous les caracteres de la ligne courante
situes apres le curseur.
HP48s(x) : Equivalent a la fonction DEL L (voir plus bas)
- <= :Sur HP48g(x) uniquement : Efface les caracteres compris entre le debut
de la ligne et le curseur.
-ON :eteint la HP48.
LES TOUCHES DE MENUS:
Chaque touche se trouvant sous un nom de fonction (ex:ASCII) permet d'executer
une des differentes commandes de STRING-WRITER v4.2
*1er menu.
ASCII :Permet de saisir le code d'un caractere sous la norme ASCII.Elle prend
en argument un entier compris entre 0 et 255
LS ASCII :Table de tous les caracteres ASCII de la fonte.
GOTO :Permet de se rendre directement a une ligne du texte
LS GOTO :Permet de se rendre directement a un caractere:ex le 485eme
->BEG :Place le curseur sur le debut de la selection.
->END :Place le curseur sur la fin de la selection.
DEL L :Efface la ligne si elle contient des caracteres sinon enleve le retour
chariot.
LS DEL L :Efface tous les caracteres de la ligne courante situe avant le curseur.
RS DEL L :Efface les caracteres compris entre le debut de la ligne et le curseur.
INFOS :Affiche diverses informations sur le texte edite et l'etat de la memoire.
Maintenir la touche appuyee pour voir l'info.
*2eme menu :Les commandes de bloc.
BEGIN :positionne le marqueur de debut de selection
END :positonne le marqueur de fin de selection.
L'appuie de SL puis de BEGIN ou END place le mot ou se trouve le curseur
dans la selection.
CUT :Copie la selection dans la memoire (CLIPBOARD),puis efface la selection
du texte
COPY :Place la selection dans le CLIPBOARD
PASTE :Recopie le texte enregistre dans le clipboard a la position courante
du curseur.
DEL :efface la selection du texte
*3eme menu :Commandes de Recherche et de Remplacement.
FIND :Affichage d'un ecran demandant la chaine a trouver dans le texte.
Cette chaine est limitee a 21 caracteres
LS FIND :Place la selection dans le motif de recherche puis FIND
REPL :Permet la saisie de l'argument de recherche,ainsi que de l'argument de
remplacement.
LS REPL :Meme fonction que LS FIND mais lance le REPL.
RS REPL :Place la selection dans le motif de remplacement puis REPL
NEXT :Rechercher l'occurence suivante de la chaine saisie dans FIND
(PATTERN).En cas de reussite,l'occurence est placee dans la
selection.
R :Remplace la selection par la chaine de remplacement saisie avec REPL
LS R :Meme fonction mais en utilisant le remplacement special (Cf chapitre
concernant l'utilisation du Find/Replace)
R/N :Remplace la selection puis recherche l'occurence suivante
(i.e R puis NEXT)
LS R/N :Equivalent a LS R puis NEXT.
ALL :remplace toutes les occurences du texte en affichant les differentes
operations.Un appui sur la touche ON permet d'arreter le remplacement.
LS ALL :remplace toutes les occurences du texte sans affichage.D'ou
un remplacement plus rapide.Il est impossible de stopper cette
operation.
RS ALL :idem a precedemment mais en eteignant l'ecran d'ou une
acceleration d'environ 12% par rapport a ci-dessus
[jkh:jusque la rien a dire! Il a code ca comme un porc, mais y'a pas à dire,
c'est ergonomique!!!]
NOTE QUAND A L'UTILISATION DES COMMANDES DE SAISIE D'ARGUMENT:
Lors de la saisie d'argument pour les commandes ASCII,GOTO,FIND etc...
un appuie sur la touche ON permet:
-Si aucun caractere n'a ete saisi le retour a l'edition du texte
-Si des caracteres ont ete saisis,l'effacement de la ligne d'entree.
Les fonctions PRG,CST,VAR,MAX-LEFT,MAX-RIGHT sont toujours actives.
Les autres sont inoperantes.
-Dans le menu FIND et le menu REPLACE il est possible d'appeller la commande ASCII,et la visualisation
de toute la fonte.
*4eme menu (Menu EDIT)
<-SKIP :Place le curseur au debut du mot precedent.
LS <-SKIP:Execute <-SKIP et place le mot ainsi trouve dans la selection.
SKIP-> :Place le curseur au debut du mot suivant.
LS SKIP->:Execute SKIP-> et place le mot dans la selection.
<-DEL :Efface les caracteres compris entre la position du curseur et le debut du mot
precedent.
RS <-DEL :Efface les caracteres depuis le debut de la ligne courante jusqu'a la position du
curseur.
DEL-> :Efface les caracteres compris entre la position du curseur et le debut du mot
suivant.
RS DEL-> :Efface les caractes compris entre la position du curseur et la fin de la ligne
courante.
DEL L :Efface la ligne si elle contient des caracteres sinon enleve le retour
chariot.
LS DEL L :Efface tous les caracteres de la ligne courante
RS DEL L :Efface les caracteres compris entre le debut
de la ligne et le curseur.
INFOS :Affiche diverses informations sur le texte edite et l'etat de la
memoire.
Maintenir la touche appuyee pour voir l'info.
IV- Manipulation de la selection et mouvements de blocs.
Lors de l'utilisation des commandes BEGIN et END,le texte place entre les deux
marqueurs apparait alors en inversion video,representant la selection.
Attention BEGIN doit etre superieur a END.[jkh:Et quatre superieur a 2 etc...
A mon avis, pour ce genre de remarque, je crois qu'il aurait du se taire
avant de commencer à causer...]
Vous pouvez alors comme sur tout traitement de texte de Micro-ordinateur faire
du copier/coller.
V-Utilisation des commandes de recherche et de remplacement.
*Recherche de caracteres.
Pour rechercher une sequence de caracteres, allez dans le menu FIND,saisir le
motif de recherche puis ENTER.Puis choisir le mode de recherche : Differencier
les majuscules des minuscules ou non.
Puis ENTER.
Un appuie sur la touche ON permet a tout moment de sortir du menu FIND (ou REPL).
Si le motif de recherche est vide apparait alors le message d'erreur :
"Nonexistent Pattern"
Si aucune occurence n'est trouvee le message : Can't Find Pattern apparait.
Sinon la selection est placee sur l'occurence trouvee.
En appuyant sur la touche NEXT , STRING WRITER recherche la prochaine occurence.
Remarque : Le code ASCII 0 est un meta-caractere [jkh:Putain!!!! y'a des mots
que je comprends meme pas!!!]; Il permet la recherche de tous caracteres.
Exemple rechercher T*TO ( * est le caractere de code ascii 0) permet de trouver
des mots comme TaTO,TATO,TZTO etc...[jkh:Voyons si j'ai compris...TOTO!!!!!!!!]
*Recherche et remplacement.
Apres avoir saisis tous les arguments necessaires dans le menu REPL, la
selection est placee sur la premiere occurence.
- R remplace alors la selection par la chaine saisie dans REPL.
- R/N remplace la selection puis recherche l'occurence suivante (Replace/Next).
- ALL effectue un remplacement de toutes les occurences a partir de la position
du curseur.
VI-Remerciements.[jkh: Promis c'est la que ca se trouvait!!! J'ai rien
deplace du tout!!!]
1-Remplacement de la selection.
Il est possible de remplacer tout un segment de texte par une chaine.
Pour cela en utilisant les commandes BEGIN et END ,placer la selection
sur le texte a remplacer. Allez dans le menu REPL. Effacer la ligne de
recherche (appuyez sur ON si elle n'est pas vide) puis ENTER.
Saisir la chaine de remplacement puis ENTER.
Le message Nonexistent Pattern apparait.
Appuyez alors sur la commande R : La selection est remplacee.
2-Utilisation des macros dans le REPLACE.
Il est possible de faire de la manipulation de chaine grace a la commande
REPLACE. Par exemple ajouter un espace tous les 5 caracteres, chercher 5
caracteres quels qu'ils soient puis effectuer une inversion sur ces caracteres.
Exemples.
a) Comment ajouter un espace tous les cinq caracteres.
-Allez dans le menu REPL
-Mettre 5 caracteres de code ascii 0 dans la ligne de recherche.
-ENTER
-Mettre 5 caracteres de code ascii 0 dans la ligne de remplacement
-AJouter un ESPACE (touche SPC ou code ascii 32)
-ENTER
La selection est placee sur les 5 caracteres apres la position du curseur
precedent.
-Pour remplacer uniquement ces 5 caracteres appuyez sur LEFT SHIFT puis R.
-Pour remplacer ces 5 caracteres puis rechercher les 5 suivants appuyer sur
LEFT SHIFT puis R/N
-Pour remplacer tous les caracteres : Appuyez sur ALL. Le message
"Use Special Replace ?" apparait
-Appuyez sur la touche Y : Tous les caracteres sont remplaces.
b) Rechercher 5 caracteres puis les inverser ( ex: SALUT deviendra TULAS )
[jkh:et TOIDI devient IDIOT, et GHERKIN devient IDIOT.. tiens, y'a un bug..]
--Allez dans le menu REPL
-Mettre 5 caracteres de code ascii 0 dans la ligne de recherche.
-ENTER
-Mettre le code ascii 15,puis le code ascii 14,puis le code ascii 13 etc.. jusqu'a 11.
-ENTER
-Pour remplacer uniquement ces 5 caracteres appuyez sur LEFT SHIFT puis R.
-Pour remplacer ces 5 caracteres puis rechercher les 5 suivants appuyer sur
LEFT SHIFT puis R/N
-Pour remplacer tous les caracteres : Appuyez sur ALL. Le message
"Use Special Replace ?" apparait
-Appuyez sur la touche Y : Tous les caracteres sont remplaces.
Explication du fonctionement du REPLACE special.
Lorsque le REPLACE trouve dans la sequence de remplacement le code ascii 15,
il va le remplacer par le cinquieme caractere de la selection.
D'une maniere generale,pour mettre le n ieme caractere de la selection,
on utilise le code ascii (10+n)
Le caractere de code ascii 0 est utilise comme compteur. C'est a dire que le
premier code ascii 0 represente le 1er caractere de la selection,le deuxieme
code ascii 0 represente le deuxieme caractere de la selection etc...
Exemple:
Comment rechercher 6 caracteres puis les remplacer par:
"Le 1er est x1,6 est x6" , ou x1 est le premier caractere et x6 est le
sixieme.
Exemple : "COUCOU" sera remplace par "Le 1er est C,6 est U"
-Mettre 6 caracteres de code ascii 0 dans la ligne de recherche.
-ENTER
-Mettre : "Le 1er est" ,mettre le code ascii 11 ou le code ascii 0.
-Mettre : ",6 est " , mettre le code ascii 16 ( pour le sixieme)
-ENTER
-Pour remplacer uniquement ces 6 caracteres appuyez sur LEFT SHIFT puis R.
-Pour remplacer ces 6 caracteres puis rechercher les 6 suivants appuyer sur
LEFT SHIFT puis R/N
-Pour remplacer tous les caracteres : Appuyez sur ALL. Le message
"Use Special Replace ?" apparait
-Appuyez sur la touche Y. : Tous les caracteres sont remplaces.
VI-Note quand a l'utilisation du menu ASCII ou de la visualisation de la fonte.
Dans le menu ascii, apres avoir saisi le code ascii a inserer dans le texte,
appuyez sur la touche ENTER sans la relacher. Le code ascii sera insere dans le
texte plusieurs fois tant que la touche ENTER n'aura pas ete relachee. La
vitesse de la repetition est fonction du mode RAPIDE ou LENT.
VII-Remerciements.
Beta-testeurs : Douglas R. Cannon,Christophe Nguyen,Francois-Xavier Leroy,
Stephane Doat,Christian Bourgeois,Mohamed Fatri,Etienne de
Foras,Cyrille de Brebisson,Gerald Squelast.
[jkh:Et encore il reste des bugs...Monsieur Avenard a
elegament inhibe l'arret systeme apres la premiere extinction
(automatique ou manuelle), ce qui fait qu'une deuxieme extinc_
tion est impossible....]
Remerciements particuliers a :
- Christian Bourgeois pour son association dans STRING-WRITER 2.0 et sans qui
cet editeur n'aurai jamais vu le jour.
- Douglas R. Cannon pour la traduction de cette documentation.
[jkh:ca c'est pour faire genre qu'il parle autre chose que le francais...]
- Mohamed Fatri pour ses suggestions et l'environement Sys-RPL
- Detlef Muller & Raimond Hellstern pour leur RPL.LIB.
- Maubert Electronic pour leur soutien et aide.
-[jkh: Et moi???]
VII- Autres produits pour HP48 en domaine public.
-Font-Writer : Un editeur de fonte compatible String-Writer (toutes versions)
-HP ASM : Assembleur Saturn.
-TERMHP : Emulateur VT100.
-LABY : Createur et Generateur de Labyrinthe 3D.
Et bien d'autres choses encore....
[jkh:Et voila, c'est fini! Mes commentaires n'avaient pas d'autre but que de
modifier un text qui est sans doute protege par le copyright, et qui appar-
tient probablement au domaine commercial!
POUR toues insultes, un seul numero:47-95-28-10, BAL GHERKIN!]